
program Teste
    use SquareElementManipulation
    use FullLinearSolver
    use MatrixOperation
    implicit none
    integer(kind=1), parameter :: uno = 1

    real(kind=8), dimension(2,2) :: A

    real(kind=8), dimension(16,16) :: M

    integer, dimension(4) :: Idx
    integer :: i,j

    A(1,1) = 9.0d0
    A(1,2) = 1.0d0
    A(2,1) = 9.0d0
    A(2,2) = 2.0d0

    print *, 'Determinante', Determinant2(A)

    call Invert2(A)

    call ShowMatrix(A)

    print *, 'Phi = ', phi(uno, -1.0d0, -1.0d0)


    forall(i = 1:16, j = 1:16) M(i,j) = real(i)*real(j)

    Idx(1) = 4
    Idx(2) = 6
    Idx(3) = 7
    Idx(4) = 12

    call ShowMatrix(M(Idx,Idx))

end program
